<%--
    Document   : LibraryBook
    Created on : 14.02.2010, 12:34:31
    Author     : Morfant
--%>


<%@page import="stud.cp.user.valueobjects.PropertyTypeDef"%>
<%@page import="stud.cp.core.plugins.Plugin"%>
<%@page import="stud.cp.user.valueobjects.WeaponType"%>
<%@page import="java.beans.DesignMode"%>
<%@page import="stud.cp.user.valueobjects.PropertyGroup"%>
<%@page import="stud.cp.user.valueobjects.PropertyType"%>
<%@page import="java.util.List"%>
<%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <%@include file="/header.jsp" %>
    <script type="text/javascript">
        function changePropertiesType(){
            var typeSelection=document.getElementById("<%= PluginConst.ID_FOR_PROPERTY_TYPE_SELECTION%>")
            var propertyName=document.getElementById("<%= PluginConst.ID_FOR_PROPERTY_NAME%>")
            var propertyGroup=document.getElementById("<%= PluginConst.ID_FOR_PROPERTY_GROUP%>")
            document.location="<%= response.encodeURL("property-action.do")
                                    + "?"
                                    + PluginConst.SUBACTION
                                    + "="
                                    + PluginConst.GET_ADD_PAGE
                                    + "&"
                                    + PluginConst.PROPERTY_TYPE_ID
                                    + "="%>"
                                    +typeSelection.options[typeSelection.selectedIndex].value
                                    +
                                    ((propertyGroup!=null)
                                    ?
                                    ("<%= "&" + PluginConst.PROPERTY_NAME + "="%>"
                                    +propertyName.value
                                    +"<%= "&" + PluginConst.PROPERTY_GROUP_ID + "="%>" +propertyGroup.value):"") }
    </script>
    <body>
        <div class="page">
            <%@include file="/cap.jsp" %>
            <div id="main">
                <h2>Новое свойство</h2>
                <form action="<%= response.encodeURL("property-action.do")
                                        + "?"
                                        + PluginConst.SUBACTION
                                        + "="
                                        + PluginConst.NEW_DATA%>"
                      method="post"
                      name="<%= PluginConst.FORM_NAME%>">
                    <fieldset>
                        <legend>Данные</legend>
                        <%-- Сообщение об ошибках --%>
                        <%String temp = (String) request.getAttribute(PluginConst.ERROR_MESSAGE);
                                    boolean lackOfData = false;
                                    if (temp != null) {%>
                        <p>
                            <span class="error">
                                <%=temp%>
                            </span>
                        </p>
                        <%}%>
                        <p>
                            <span class="highlight-delete-item">
                                <label for="<%=PluginConst.PROPERTY_NAME%>">Имя свойства:</label>
                            </span>
                            <input id="<%=PluginConst.ID_FOR_PROPERTY_NAME%>"
                                   type="text"
                                   name="<%=PluginConst.PROPERTY_NAME%>"
                                   value="<%=(request.getAttribute(PluginConst.PROPERTY_NAME) == null)
                                                           ? "" : request.getAttribute(PluginConst.PROPERTY_NAME)%>" />
                            <span class="error"> *</span>
                        </p>
                        <%-- Типы свойств. Обязательно. --%>
                        <p>
                            <span class="highlight-delete-item">
                                <label for="<%=PluginConst.PROPERTY_TYPE_ID%>">Тип свойства:</label>
                            </span>
                            <% List<PropertyType> type_list =
                                                (List<PropertyType>) request.getAttribute(PluginConst.PROPERTY_TYPES_LIST);
                                        Object propertyTypeId = request.getAttribute(PluginConst.PROPERTY_TYPE_ID);
                                        int selectPropertyTypeId = 1;
                                        if (propertyTypeId != null) {
                                            selectPropertyTypeId = (Integer) propertyTypeId;
                                        }
                                        if ((type_list != null) && (type_list.size() > 0)) {
                            %>
                            <select id="<%=PluginConst.ID_FOR_PROPERTY_TYPE_SELECTION%>"
                                    name="<%=PluginConst.PROPERTY_TYPE_ID%>"
                                    onchange="changePropertiesType()">

                                <%  for (PropertyType item : type_list) {%>
                                <option <%=(item.getProperty_type_id() == selectPropertyTypeId) ? "selected" : ""%>
                                    value="<%=item.getProperty_type_id()%>">
                                    <%=item.getName()%>
                                </option>
                                <%}%>
                            </select>
                            <%} else {
                                                                        lackOfData = true;
                            %>
                            <span class="error">
                                Данные о типах отсутствуют!
                            </span>
                            <%}%>
                        </p>
                        <%-- Группы свойств. Обязательно. --%>
                        <p>
                            <span class="highlight-delete-item">
                                <label for="<%=PluginConst.PROPERTY_GROUP_ID%>">Группа свойства:</label>
                            </span>
                            <% List<PropertyGroup> group_list =
                                                (List<PropertyGroup>) request.getAttribute(PluginConst.PROPERTY_GROUPS_LIST);
                                        Object propertyGroupId = request.getAttribute(PluginConst.PROPERTY_GROUP_ID);
                                        int selectPropertyGroupId = 0;
                                        if (propertyGroupId != null) {
                                            selectPropertyGroupId = (Integer) propertyGroupId;
                                        }
                                        if ((group_list != null) && (group_list.size() > 0)) {
                            %>
                            <select  id="<%=PluginConst.ID_FOR_PROPERTY_GROUP%>"
                                     name="<%=PluginConst.PROPERTY_GROUP_ID%>">
                                <%  for (PropertyGroup item : group_list) {%>
                                <option <%=(item.getProperty_group_id() == selectPropertyGroupId) ? "selected" : ""%>
                                    value="<%=item.getProperty_group_id()%>">
                                    <%=item.getName()%>
                                </option>
                                <%}%>
                            </select>
                            <%} else {
                                                                        lackOfData = true;
                            %>
                            <span class="error">
                                Данные о группах отсутствуют!
                            </span>
                            <%}%>
                        </p>

                        <%-- Список типов  оружия - для ссылочных свойств.  --%>
                        <%
                                    Object weapon_list = request.getAttribute(PluginConst.WEAPON_TYPES_LIST);
                                    if (weapon_list != null) {%>
                        <p>
                            <% if (((List<WeaponType>) weapon_list).size() > 0) {%>
                            <span class="highlight-delete-item">
                                <label for="<%=PluginConst.WEAPON_TYPE_ID%>">Тип оружия:</label>
                            </span>
                            <select name="<%=PluginConst.WEAPON_TYPE_ID%>">
                                <%  for (WeaponType item : (List<WeaponType>) weapon_list) {%>
                                <option value="<%=item.getWeapon_type_id()%>">
                                    <%=item.getName()%>
                                </option>
                                <%}%>
                            </select>
                            <%} else {
                                 lackOfData = true;
                            %>
                            <span class="error">
                                Данные о типах оружия отсутствуют!
                            </span>
                            <%}%>
                        </p>
                        <%}%>
                        <%-- Список наборов - для списочных свойств.  --%>
                        <%
                                    Object listValueDefList = request.getAttribute(PluginConst.LIST_VALUE_DEF_LIST);
                                    if (listValueDefList != null) {
                        %>
                        <p>
                            <%if (((List<PropertyTypeDef>) listValueDefList).size() > 0) {%>
                            <span class="highlight-delete-item">
                                <label for="<%=PluginConst.LIST_VALUE_DEF_ID%>">Набор значений:</label>
                            </span>
                            <select name="<%=PluginConst.LIST_VALUE_DEF_ID%>">
                                <%  for (PropertyTypeDef item : (List<PropertyTypeDef>) listValueDefList) {%>
                                <option value="<%=item.getProperty_type_def_id()%>">
                                    <%=item.getName()%>
                                </option>
                                <%}%>
                            </select>
                            <%} else {
                                lackOfData = true;
                            %>
                            <span class="error">
                                Данные о наборах данных отсутствуют!
                            </span>
                            <%}%>
                        </p>
                        <%}%>
                        <p>
                            <span class="error"> *</span> - обязательные для заполнения поля.
                        </p>
                    </fieldset>
                    <p>
                        <input  <%=(lackOfData) ? "disabled" : ""%>
                            name="confirmButton"
                            type="submit"
                            value="Добавить" />
                    </p>
                </form>
                <script  type="text/javascript">
                    {var frmvalidator = new Validator("<%=PluginConst.FORM_NAME%>");
                        frmvalidator.
                            addValidation("<%=PluginConst.PROPERTY_NAME%>",
                        "req","Название свойства не может быть пустым!");
                        frmvalidator.
                            addValidation("<%=PluginConst.PROPERTY_NAME%>",
                        "maxlen=70","Слишком много символов!");}
                </script>
                <div id="weaponmenucontainer">
                    <ul id="weaponmenu">
                        <li><a href="<%= response.encodeURL("property-action.do")
                                                + "?"
                                                + PluginConst.SUBACTION
                                                + "="
                                                + PluginConst.GET_LIST%>">Вернуться к списку свойств</a></li>
                    </ul>
                </div>
                <div id="footer">
                </div>
            </div>
        </div>
    </body>
</html>
